gdk/win32: Complete gdk_screen_is_composited() removal
authorChun-wei Fan <fanchunwei@src.gnome.org>
Tue, 1 Nov 2016 08:42:31 +0000 (16:42 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Wed, 2 Nov 2016 07:37:10 +0000 (15:37 +0800)
Commit d249e77 (API: screen: Remove gdk_screen_is_composited()) attempted
to update the GDK-Win32 for the removal of the API, but some parts were
missed.  This updates the code so that things continue to build and run.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkevents-win32.c
gdk/win32/gdkglcontext-win32.c

index 422a83138ad125a4ed6c20e276be0966555f74c4..ad40ea3d0975de3c50f3f705e3b27155d8a99b7a 100644 (file)
@@ -28,6 +28,8 @@
 #include "gdkmonitor-win32.h"
 #include "gdkwin32.h"
 
+#include <dwmapi.h>
+
 static int debug_indent = 0;
 
 static GdkMonitor *
@@ -399,6 +401,8 @@ _gdk_win32_display_open (const gchar *display_name)
   win32_display = GDK_WIN32_DISPLAY (_gdk_display);
 
   win32_display->screen = g_object_new (GDK_TYPE_WIN32_SCREEN, NULL);
+  if (gdk_screen_get_rgba_visual (win32_display->screen) == NULL)
+    gdk_display_set_rgba (_gdk_display, FALSE);
 
   _gdk_events_init (_gdk_display);
 
index d7899d9eba0ce73aac5ff9db9206e03cb0d64895..411bd0fb99a48fae8d9c630e01f9e2051a0ddd6b 100644 (file)
@@ -50,6 +50,7 @@
 #include "gdkwin32.h"
 #include "gdkkeysyms.h"
 #include "gdkdevicemanager-win32.h"
+#include "gdkdisplay-win32.h"
 #include "gdkdeviceprivate.h"
 #include "gdkdevice-wintab.h"
 #include "gdkwin32dnd.h"
index a153b9b913ea618d6a40de7b5b5b1e4d9157c763..ee80e0dc036b17aeb269f960315f0ae764ab991c 100644 (file)
@@ -777,7 +777,6 @@ _gdk_win32_display_make_gl_context_current (GdkDisplay *display,
   GdkWin32GLContext *context_win32;
   GdkWin32Display *display_win32 = GDK_WIN32_DISPLAY (display);
   GdkWindow *window;
-  GdkScreen *screen;
 
   gboolean do_frame_sync = FALSE;
 
@@ -806,8 +805,8 @@ _gdk_win32_display_make_gl_context_current (GdkDisplay *display,
        * the swap when drawing on the offscreen, rendering to the screen
        * happens later anyway, and its up to the compositor to sync that
        * to the vblank. */
-      screen = gdk_window_get_screen (window);
-      do_frame_sync = ! gdk_screen_is_composited (screen);
+      display = gdk_window_get_display (window);
+      do_frame_sync = ! gdk_display_is_composited (display);
 
       if (do_frame_sync != context_win32->do_frame_sync)
         {